export type LanguageType = 'zh' | 'en' | null;
export type LayoutType = 'vertical' | 'classic' | 'transverse' | 'columns';
export interface GlobalState {
  language: LanguageType;
  iscollapsed: boolean;
  isactived: string[];
  layout: LayoutType;
}
export interface UserState {
  token: string;
}

interface MetaProps {
  icon?: string;
  title?: string;
  activeMenu?: string;
}

// 改进后的 MenuOptions 接口
export interface MenuOptions {
  path: string;
  name: string;
  component?: () => Promise<{ default: any }>; // 更精确的组件类型
  redirect?: string;
  meta: MetaProps;
  children?: MenuOptions[];
}

export interface AuthState {
  authMenuList: MenuOptions[];
}

export interface TagItem {
  title: string;
  path: string;
}

export interface StoredState {
  tags: TagItem[];
  activeIndex: number;
}
